"""
@-*- coding: utf-8 -*-
@ python：python 3.8
@ 创建人员：ylx
@ 创建时间：2025/4/29 下午2:55
@ 内容：解析config层级下的config.ini配置文件
"""
import configparser
from config.setting import file_path
import json


class ConfigParse:
    """
    解析.ini后缀的配置文件
    此类解析的为config目录下的config.ini文件
    """
    def __init__(self, path=file_path["ini"]):
        self.path = path
        self.parse = configparser.ConfigParser()
        self.read_config()  # 要获取值，就要先读取到值,所以初始化的时候调
        # 读取方法，将读取到的信息加载到这个实例上，那这个实例使用get方法，才能基于你获取到的数据
        # 返回对应的值


    def read_config(self):
        self.parse.read(self.path, encoding="utf-8")  # 返回这个文件绝对路径，列表形式


    def get_value(self, section, option):
        """
        获取配置文件的值
        :param section:如[Host]
        :param option: [Host]下对应的key 如host=value的值
        :return:
        """
        try:
            return self.parse.get(section, option)
        except Exception as e:
            print(f"读取配置文件异常，原因：{e}")


    def get_host(self, option):
        """
        颗粒度比get_value再细一点的方法
        仅获取 config/.ini配置文件中[Host]节点下的信息
        :return:
        """
        return self.get_value("Host", option)



if __name__ == "__main__":
    read_ini = ConfigParse()
    res_1 = read_ini.get_value("Armory_command", "配置客户端版本自动更新提示打开_1")
    res_2 = read_ini.get_value("Armory_command", "配置客户端版本自动更新提示关闭")
    # res_4 = read_ini.get_value("Armory_JsonInfo", "待更新json文件内容_1")
    print(res_1, type(res_1))
    print(res_2, type(res_2))
    # print(res_4)
    # print(type(res_4))
    # res_4_dict = json.loads(res_4)
    # print(res_4_dict)
    # print(type(res_4_dict))
